v0.99.7 rev3397 (8 Jan 2017) The "road to v1.0" release
    - XA audio can now be replaced using .wav files
    - Simplified error messages
    x Command-line -play option removed
    Bug fixes:
    - Videos with multiple audio streams was broken
    - Incorrect correction of corrupted XA audio
    - Possible failure when saving some movies as image sequence
    - Some GUI weirdness when first selecting an item
    - Other minor or command-line related bugs
    Internal:
    - Java version of the Hitmen "Psx Audio Tools 0.1" vagpack.c
    - PSound .ppl file parser
    - Better error handling
    - Improved internationalization
    - Introduced new bugs ;)
v0.99.6 rev3146 (3 June 2016)
    - Update Spanish translation (many thanks Víctor González, Sergi Medina)
    - Allow replacing FF7 frames with STRv2 frame format
    - Added support for Gran Turismo (1 and 2) videos
    - Simplified error/warning messages
    - Improved encoder: removes redundant data to make frames smaller
    - More flexible Judge Dredd video detection (reduced program size greatly)
    - Split video at large sector or frame number gaps
      (fixes JPSXDEC-7 reported by truston, and JPSXDEC-9 reported by hgdagon)
    - sectordump includes count of sector types at the end
    - No longer report most channel numbers as corruption
    - Index saved as UTF-8 to handle Unicode paths
    - Updated launch4j executable
    x Remove ability to generate index to stdout
    Bug fixes:
    - JPG error message
    - Single unidentified sectors not being checked for images
    - Main command-line help text errors
    - Static data end sector off by 1
    - 2336/sector image identification issue
    - "Apply to all X" caps localization issue for Spanish
    - Corrupted header sector number not handled correctly
    - Logging issues
    - other minor bug fixes
    Internal:
    - Contextual sector identification, along with more flexible disc indexer
      may have slowed down indexing speed
    - Restructured video frame demuxing
    - More tests
    Known Problems:
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy or not display
v0.99.5 rev3006 (5 Jul 2015)
    - Spanish translation provided by Víctor González
    - Index format changed, indexes need to be regenerated
    Bug fixes:
    - Indexing fails if XA sector channel = 255 (JPSXDEC-6 reported by truston)
    - More forgiving FF8 audio detection (JPSXDEC-8 reported by truston)
    - Tim items duplicated when loading index
    - Infinite loop during encoding
    - Encoding writing invalid quantization scale
    - STRv3 DC encoding error
    - Message format and type mismatch
    - replace.xml file name parsing error
    - JPEG writes bad data for high energy blocks
    - Various possible null pointer exceptions
    - various other bug fixes
    Internal:
    - Localization overhaul
    Known Problems:
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy or not display
v0.99.4 rev2859 (27 Sep 2014)
    - New frame numbering and lookup options (see manual)
        . Frame index number now used by default
        . -replaceframes XML version now 0.2 to support new frame number options
    - Indexing improvements for Ace Combat 3, Judge Dredd, Alice in Cyber Land
    - "Unnamed" changed to "?" in index
    - GUI very poorly translated to Japanese (Google translate)
      Please contact me if you would like to help translate to any language!
    - Index format changed, indexes need to be regenerated
    Bug fixes:
    - Image sequence file names messed up
    - Passing small files as the single command-line parameter causes error
    - Chroma upsampling on command-line not being handled properly
    - Issue saving AVI when specifying frame range (command-line)
    - Image sequence with duplicate header frame numbers overwrites files
    - Tim images in the same sector not sorted by offset in index
    - debug0.log timestamp using day instead of minutes
    Known Problems:
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy or not display
v0.99.3 rev2795 (10 May 2014)
    - Better Ace Combat 3 video support
    - Reduced size of executable (.jar) and download
    - Improved frame rate detection
    - More robust bitstream detection
    - Improve quality of decoded XA audio from sectors that are corrupted
    - Index format changed, indexes need to be regenerated
    Bug fixes:
    - Video decoding YCbCr->RGB values slightly varies depending on code path
    - Slightly inaccurate sector header data may be written to replaced sectors
    - Command-line sloppiness
    - Blank line in index not handled well
    - File Chooser drop-down out of order on Java 7
    - debug.log formatting
    - FindBugs fixes and other minor fixes
    Internal:
    - Preliminary I18N support
    - Reduce dependence on video sector frame number
    Known Problems:
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy or not display
v0.99.2 rev2705 (8 Nov 2013)
    - Video player scales to fit window
    - Writing (M)JPEG is now close to lossless (see manual for details)
    - Added Tim copy to clipboard button
    - Added iki video encoding
    - Automatically open Gui with an index or file by passing it as the only
      argument (auto detected)
    - Combined 'high+' quality into just 'high' quality for simplicity
    - -frameinfodump will show even more info with -verbose 4
    Bug fixes:
    ! Incomplete last frame not being written to avi
    - Unhandled error when iki frame header was incomplete
    - Replacing data in files with RIFF header corrupted file
    - Error frames were all black
    - Fixed when output directory is blank
    - If there was an error opening another file/index,
      Gui wouldn't remember if the index was just saved
    - Fixed several minor bugs
    Internal:
    - New Video Decoder Pipeline (VDP)
    - Player partial redesign
    - Encoder partial redesign
    - Main/cmdline redesign
    - All index and save logging also goes to debug.log
    Known Problems:
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy or not display
v0.99.1 rev2602 (18 Apr 2013)
    - More robust and lenient XA detection and decoding
    - Sped up loading large indexes
    - Several UI bug fixes
        . Closes files after opening a new one
        . Fix description of videos with < 1 sec duration
        . Update and optimize tree table
        . Prompt to save index
        . File extension considered when checking for existing file
        . Fixed order of nested directory tree
        . Fixed possible UI deadlock when playing
    - Tim improvements
        . Fix gray palette transparency
        . Fix saving 4-bit TIM as .bmp
        . Prevent saving 16-bit TIM as .bmp
        . Improve quality of RGB -> 16-bit TIM color conversion
        . RGB -> 8 or 4bpp TIM CLUT colors are now sorted
        . Shows output file names
    - Output filename keeps original extension
    - -visualize pdf is now vertical
    - Slightly more correct STR video detection
    - Slightly optimized video decoding (STRv3)
    - jPSXdec version added in generated AVI metadata
    Internals:
    - Big logging redesign and cleanup
    - Big Tim cleanup
    Known Problems:
    - .iki encoding not implemented yet
    - Some .iki frame rate detection is wrong
    - Audio + Video playback on Linux might be choppy
v0.99.0 rev2494 (3 Nov 2012)
    - Added support for Crusader: No Remorse
    - Added -replacexa command-line option
    - Added handling for some strange Tim formats (thanks to bug report by CUE)
    - Renamed all items in gui to just image, audio, video
    - Command-line indexing now overwrites an existing file
    - Sped up jpg and img writing
    - Sped up init time (Dredd init)
    - Added multiple gui icon sizes
    - Fixed mode 1 disc reading
    - Fixed FF7 and FF9 frame replacing
    - Fixed Lain encoder
    Internals:
    - Tim cleanup
    - Adjusted names of many classes
    - Added MDEC debugging info
    - Removed audio decode thread from player
    - Removed various unused stuff
    Known Problems:
    - Audio + Video playback on Linux might be choppy
    - Massive lists of items might scroll slowly on Windows
    - UmJammer Lammy frame rate detection is wrong
v0.98.0 rev2318 (9 Mar 2012)
    - Added handling for Lunar 2 unique 24fps
    - Added saving Tim images as Tim files
    - More robust sector corruption detection and handling
    - Fixed handling for XA streams consisting of adjacent XA sectors
    - Added -replacetim command-line option
    - Added Tekken 2 video detection
    - Added Judge Dredd video detection
    - Fixed FF8 audio decoding
    - Fixed indexing of .iso disc images
    - Various other bugfixes
    Internals:
    - Writing sectors to disc now automatically regenerates ECC/EDC
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Massive lists of items scroll choppy on Windows
    - UmJammer Lammy frame rate detection is wrong
v0.97.0 rev2196 (1 Nov 2011)
    - Added many interpolation options for chroma upsampling
    - Added handling for XA streams consisting of adjacent XA sectors
    - Fixed handling of XA streams with 8 bits/sample
    - Optimized bitstream unpacker for faster decoding
    - Improved detection of 2336 bytes/sector images
    - Added -static command-line option for decoding TIM, mdec, and bitstream files
    - Handful of minor bug-fixes and tweaks
    Internals:
    - Fixed Tim creation
    - Added a few unit/function tests
    - Fixed encoding and improved design
    - Extracted Lain specific stuff to separate project
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Massive lists of items scroll choppy on Windows
v0.96.0 rev1996 (28 May 2011)
    - Added Tim image detection and saving - enjoy thousands of items in the list
    - Added support for most .iki videos (additional handling to be added later)
    - Remembers last used directories when opening/saving disc images/index files
    - Added dropdown lists of previously opened disc images and indexes
    - Slightly improved color accuracy of nearly exact PSX video conversion
    - Various bug fixes
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Massive lists of items scroll choppy on Windows
v0.95.1 rev1831 (11 Jan 2011)
    - Added Windows .exe to start the program
    - Fixed and improved audio/video indexing logic
    - Fixed and improved video identification
    - Interface changed to select which audio to use with video
    - Videos with multiple audio clips are now handled the best they can be
    Known Problems:
    - Audio + Video player on Linux might be choppy
v0.95.0 rev1779 (9 Nov 2010)
    - Reimplemented a new and improved GUI!
    - Greatly reduced the number of reported errors for things that aren't really errors
    - Added 'Pause' ability to player, and made its logic more robust
    - Added -visualize option to generate a pdf visualizing the index items
    - New index format, with unique identifiers
    - Can now use index item identifiers for -i option
    - Added -dir option to specify output directory
    - Appends index item's directory to the output path when saving
      (as shown in their identifier)
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Not all options have been well tested
    - Audio and Video indexing logic may be slightly degraded
    - 'psx' video decoder quality does not quite match actual hardware output
    - Doesn't handle playing/saving multiple parallel audio clips with video very well
v0.94.0 rev1671 (12 Oct 2010) [dev release]
    - Changed command-line arguments to be simpler for me to handle (see manual for details).
    - Can now automatically use the source file listed in the index file,
      so no need to explicitly specify the source file in the command-line
      after index is generated.
    - Added unique identifier to media items that better indicates how items relate to each other
    - Added -vf avi:jyuv for full range [0-255] pc.601 yuv video writing
    - Added -i # -frameinfodump command for detailed frame info (video items only)
    - Audio and Video indexing logic may be slightly degraded in this version
    - Reports when index file lines are unrecognized
    Internals:
    - MAJOR package rearrangement and cleaning made the code design much simpler
    - Lots of comments added/cleaned/fixed
    Known Problems:
    - Manual is pretty sloppy
    - Player doesn't release all resources properly until program exits
    - Player will automatically play very short videos without waiting
    - Audio + Video player on Linux might be choppy
    - Prints way too many errors when encountering CD audio track and disc errors
    - Not all command-line options have been well tested
    - 'psx' video decoder quality does not quite match actual hardware output
v0.93.1 rev1617 (6 Sept 2010)
    - Fixed 'high+' quality output
v0.93.0 rev1616 (4 Sept 2010)
    - Added 'high+' quality option which performs bilinear interpolated chroma
      upsampling for greatly improved image quality
    - Changed high quality IDCT to match PSX hardware more closely. This will
      affect the output colors, but hopefully looks better
    - More careful handling of disc image errors (includes more error printing)
    - Unidentified frame rate fraction is now simplified in index
    - Now detects more cases of 20fps
    - Improved accuracy of 'psx' quality, but it's still not perfect
    - Output is now printed to stdout instead of stderr
    - Fixed individual item help printing format regression
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Prints way too many errors when encountering CD audio track and disc errors
    - Not all command-line options have been well tested
    - 'psx' video decoder quality definitely does not match actual hardware output
v0.92.2 rev1532 (31 Jul 2010)
    - Removed Java 6 dependencies, can now be run with Java 5 again
    - Improved detection of XA audio streams
    - Now prints what audio stream is being saved with the video stream
    - Fixed error in index files (breaks compatibility--indexes need to be recreated)
    - Fixed -sectordump output regression
    - Reverted -jpg option to accept a number again
    - Removed Yuv4mpeg2 writing
    - Sometimes prints the selected saving options before starting to save
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Gives way too many errors when encountering CD audio track
    - Not all command-line options have been well tested
    - 'psx' video decoder quality definitely does not match actual hardware output
v0.92.1 rev1490 (23 Jul 2010)
    - Added support for disc images containing subchannel data (2448 bytes/sector)
    - Disc reading is now buffered, which should speed up everything
    - Fixed crash when reading from very small disc images
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Gives way too many errors when encountering CD audio track
    - Not all command-line options are working, and many haven't been well tested
    - 'psx' video decoder quality definitely does not match actual hardware output
v0.92.0 rev1335 (24 Apr 2010)
    - Fixed AVI YV12 and Yuv4mpeg2 output colors.
    - Fixed A/V sync calculation error that incorrectly added silence to FF9 videos
    - Renamed video command-line option "-vf avi:bmp" to "-vf avi:rgb"
    - Fixed frame rate detection
    Internals:
    - Renamed 'plugins' to 'modules'
    - Renamed 'jpsxdec.modules.psx.video.decoding' to 'bitstreams'
    - Removed unused IDCTs
    - LOTS of cleaning, commenting, refactoring.
    Known Problems:
    - Audio + Video player on Linux might be choppy
    - Gives way too many errors when encountering CD audio track
    - Not all command-line options are working, and many haven't been well tested
    - 'psx' video decoder quality definitely does not match actual hardware output
v0.91.0 rev1155 (13 Feb 2010)
    - Fixed yuv (Yuv4mpeg2) saving (pixel order was wrong)
    - Added saving as AVI in YUV format (specifically YV12 codec)
      for the highest quality output
    - Added -preciseav option
    - Fixed player from ending movies too quickly
    - Improved handling of multiple parallel video + audio streams
    - Properly syncs audio and video
    - Now handles Chrono Cross ending movie
    - Index files slightly updated, so likely incompatable with 0.90.0 versions
    - Fixed audio -vol option
    - Fixed video -jpg option
    - Fixed video -frames option
    Internals:
    - Began adding api for letting index file specify disc file
    - Added ant build script
    - Moves lgpl code into separate source folder
    - Added ArgParser source to the repo (for simplicity)
    - Softened movie detection logic
    - Several optimizations, including
        - Added object pool to player design
    - Cleaning and simplification where possible
        - Audio and video saving pipeline almost completely rewritten
        - Simplified the player design
        - Modularized AVI writer design
    - Fixed various bugs (frame rate calculation in some cases, NPEs, etc.)
     Known Problems:
    - Frame rate detection is still pretty bad
    - Audio + Video player on Linux might be choppy
    - Gives way too many errors when encountering CD audio track
    - Not all command-line options are working, and many haven't been well tested
    - 'psx' video decoder quality is not verified
v0.90.0 rev1038 (18 Jan 2010)
    - LICENSE CHANGED TO NON-COMMERCIAL USE ONLY
    - Added a very basic real-time player
    - Improved indexing and disc item detection, including CD-i audio
    - More robust disc image file type detection
    - Added filesystem (ISO9660) detection. Media items found within files are
      saved with the encompassing file name.
    - Added yuv4mpeg2 saving
    - Added new 'psx' video decoder quality that might match actual PlayStation
      output (not verified).
    - Changed command-line handling. Now each disc item handles command-line
      options separately
    - Fixed end-of-stream error that can occur with some Lain movies.
    - More accurate frame rate detection, and saves variable-frame-rate
      AVIs more cleanly (can handle Alice In Cyber Land movies perfectly)
    - Easier (for me) index file format
    x Removed ability to specify output filename
    x GUI removed until core framework is better established
    x Disabled TIM detection until core framework is better established
    Internals:
    - Removed all GPL code
    - Added new IDCTs
        simple_idct from ffmpeg, ported by MrVacBob. Only slightly slower then
        the IDCT from Joerg Anders's mpeg player.
        Eclipse Jpeg IDCT. Not as fast as the other two.
		J2meMpegIDCT is slowest.
    - Broke things up by games
    - Abstracted video decoding so uncompressing, MDEC, and IDCT can
      be interchanged.
    - Changed variable naming convention
    - Cleaned up TIM class and XA decoding class
    - Changed most debugging logging to Java's logging framework
v0.35 rev463 (5 May 2008)
    - NEW SUPER FAST DECODING AVAILABLE!
    - AVI writing fixed some more.
    - Filler frames are produced for frames unable to be decoded at all
      (text of error printed on frame).
    - Added missing credits and copyrights for code from Joerg Anders's 
      MPEG player.
    - Progress window can now be closed by clicking on the X
      (for when things go terribly wrong).
    - Added workaround for Java's 'All files' filter bug on Linux.
    - Fixed scaling of TIM previews in TIM saver window.
    - Fixed indexing error that can occur in some cases (because of TIM searching).
    - Added command-line -copysect and -quality options.
    - Added Chrono Cross handling for all movies on disc 2 except final movie.
    - Fixed command-line so -debug can always be used.
    Internals:
    - Pulled frame identification into its own class.
    - Changed AviWriter to use 'JFIF' header instead of 'AVI1'.
v0.34 (20 Apr 2008)
    - Command-line options changed, now a little nicer and uses new parsing lib
    - Cache PSXSector types in iterators for MAJOR speed increase with 
      indexing (thanks to stream change in v.33).
    - Fixed decoding of FF7 without camera data (broke in v0.32 or 0.31)
    - Added new TIM saving GUI that's real snazzy.
    - Removed yuv saving until it is re-implemented properly.
    - Added -copy and -dir command-line options.
    Internals:
    - Began adding raw CD reading for Windows.
    - Began adding new fast Java decoder
    - Began adding a native decoder
    - Fixed indexing error if TIM was being searched at the end of the input file
    - Pulled the actual uncompressing/decoding out of the savers and abstracted 
      it so decoders can be interchangeable.
    - Lots of new, undocumented classes that will eventually be used for faster decoding.
v0.33 (development release)
    ! Basically all command-line decoding is disabled and needs to be re-implemented
    - Added new dialog to specify media conversion options
    - FF9 decoding working perfectly now
    - FF8 decoding working again
    - Added Chrono Cross decoding as well
    - Numerous bug-fixes and optimizations
    - STR_file_format.txt pretty much ready for 0.43 release
    - XA channels are now treated as separate media items (Saiyuki can now be decoded)
    - Again changed how some index files are saved
    Internals:
    - Cleaned up error handling during saving
    - Made all videos demuxable via the Push demuxer
    - Split up PSXSector
    - Fixed AviWriter header creation, and some other fixes
    - PsxYuv now generates its own BMP style data directly for use with AviWriter
    - Unified and cleaned up Square decoding
    - Fixed MediaHandler to handle discs with over 999 media items
    - Added more documentation, including package level docs
    - Most objects are no longer streams. They have a function to produce a stream
      of the data. This has many advantages:
      + Able to create multiple streams of the same data (necessary for multiple listeners of the data)
      + Duplicating very little data for each stream (just indexes)
      + Making a sub-stream of a stream is again very easy (just duplicate indexes)
      + I suppose this breaks up the code to be a little more modular
      + It uses more of well tested java classes, so less jpsxdec code, and more reliable
      + Implements the read(byte[]) for faster bulk reading.
v0.32 (development release)
    - Fixed decoding of Lain final movie (broke in 0.31)
    - FF9 audio decoding output is not working right (output is almost correct, 
      but still has an error) and video isn't re-implemented yet.
    - FF8 video decoding isn't re-implemented yet.
    - Added AVI encoding
    - Revamped the index file format somewhat (old versions no longer compatible)
    - Cleaned up some GUI behavior/looks
    - Removed GUI's ability to save anything (need to re-implement)
    - Saving TIM files is broken in some cases (in Main.java)
    - STR_file_format.txt FF9 section is work-in-progress (lots of extra junk in there)
    Internals:
    - Changed to 'push' architecture.
    - Added FPS calculation (needed for AVI writing)
    - Adding some features for the S.E. Lain PSX Game Translation Project
    - Added ISO9660 directory parsing.
    - Added CD Mode 2 error correction (ecc/edc) generation.
    - Added TIM writing.
    - Changed StrFrameUncompressorIS internals (for StrRecompressorIS) so hopefully nothing broke.
    - Added ability to re-encode STR files (StrDiffCombine.java and StrRecompressorIS.java). 
      Still need to handle case when recompressed frame is too big to fit.
v0.31 (3 Feb 2008)
    - Added a GUI! I hope it works!
    - Fixed FF8 decoding to handle audio-only 'movies'
    - Added FF9 decoding.
    - Fixed error with Audio2048 so it won't fragment certain ISO movies.
    - Improved handling of media index files.
    - Countless edits, cleaning, comments, and rearranging of code.
    - Note: index files generated by prior versions of jpsxdec may not work
            with this version.
v0.30 (6 Jan 2008)
    - Major internal code rearrangement.
    - Added FF8 audio decoding.
    - Removed dependencies on Java 1.6. Works now with Java 1.5.
    - Reverted YUV output to clamp at 0 and 255 (MrVacBob says analog encoding is dead).
    - Fixed YUV -> RGB green conversion (PSX uses non-standard equation), but this means that raw YUV frames outputted by jPSXdec don't follow the yuv4mpeg2 spec. 
    - Sped up video decoding when saving .demux by removing excess seeking.
    - Fixed serialzation/deserialization of STR in index.
v0.27 (development release)
    - Made CD ISO image identification more flexible (although it may now just assume any file is an ISO file).
    - Fixed so it won't crash when CD audio sectors are encountered (checks to make sure all sectors are MODE2).
    - Added simple TIM file search (won't detect all TIM files in the ISO yet).
v0.26 (development release)
    - Sped up video decoding by removing excess seeking.
    - Can now decode Lain final movie.
    - Added special plugins for decoding Lain SITEA.BIN SITEB.BIN LAPKS.BIN files.
    - Fixed decoding of video from ISO type files (by fixing identification of incomplete audio sectors).
    - Changed YUV output to clamp at 1 and 254 for 'sync encoding'.
    - Fixed video decoding (BufferedBitReader again)
v0.25 and earlier
    - Fixed video decoding (BufferedBitReader)
    - Fixed crash in CDSectorReader.java:getFilePointer() when header is not available.
    - Fixed crash in CDSectorReader.java:getFilePointer() when header is not available.
